rtc22 2.2.1
Loading...
Searching...
No Matches
rtc22


RTC 22 Click

RTC 22 Click demo application is developed using the NECTO Studio, ensuring compatibility with mikroSDK's open-source libraries and tools. Designed for plug-and-play implementation and testing, the demo is fully compatible with all development, starter, and mikromedia boards featuring a mikroBUS™ socket.


Click Library

  • Author : Stefan Filipovic
  • Date : Jun 2024.
  • Type : I2C type

Software Support

Example Description

This example demonstrates the use of RTC 22 Click board by reading and displaying the time and date values.

Example Libraries

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.RTC22

Example Key Functions

  • rtc22_cfg_setup Config Object Initialization function.
    void rtc22_cfg_setup(rtc22_cfg_t *cfg)
    RTC 22 configuration object setup function.
    RTC 22 Click configuration object.
    Definition rtc22.h:211
  • rtc22_init Initialization function.
    err_t rtc22_init ( rtc22_t *ctx, rtc22_cfg_t *cfg );
    err_t rtc22_init(rtc22_t *ctx, rtc22_cfg_t *cfg)
    RTC 22 initialization function.
    RTC 22 Click context object.
    Definition rtc22.h:189
  • rtc22_set_time This function sets the starting time values - second 100th, second, minute and hour.
    err_t rtc22_set_time ( rtc22_t *ctx, rtc22_time_t *time );
    err_t rtc22_set_time(rtc22_t *ctx, rtc22_time_t *time)
    RTC 22 set time function.
    RTC 22 Click time object.
    Definition rtc22.h:231
  • rtc22_read_time This function reads the current time values - second 100th, second, minute and hour.
    err_t rtc22_read_time ( rtc22_t *ctx, rtc22_time_t *time );
    err_t rtc22_read_time(rtc22_t *ctx, rtc22_time_t *time)
    RTC 22 read time function.
  • rtc22_set_date This function sets the starting date values - day of week, day, month and year.
    err_t rtc22_set_date ( rtc22_t *ctx, rtc22_date_t *date );
    err_t rtc22_set_date(rtc22_t *ctx, rtc22_date_t *date)
    RTC 22 set date function.
    RTC 22 Click date object.
    Definition rtc22.h:245

Application Init

Initializes the driver, checks the communication, and sets the starting time and date.

void application_init ( void )
{
log_cfg_t log_cfg;
rtc22_cfg_t rtc22_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
rtc22_cfg_setup( &rtc22_cfg );
if ( I2C_MASTER_ERROR == rtc22_init( &rtc22, &rtc22_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
{
log_error( &logger, " Check communication." );
for ( ; ; );
}
time.hour = 23;
time.minute = 59;
time.second = 50;
time.second_100th = 0;
if ( RTC22_OK == rtc22_set_time ( &rtc22, &time ) )
{
log_printf( &logger, " Set time: %.2u:%.2u:%.2u\r\n",
( uint16_t ) time.hour, ( uint16_t ) time.minute, ( uint16_t ) time.second );
}
date.day_of_week = RTC22_TUESDAY;
date.day = 31;
date.month = 12;
date.year = 24;
if ( RTC22_OK == rtc22_set_date ( &rtc22, &date ) )
{
log_printf( &logger, " Set date: %s, %.2u.%.2u.20%.2u.\r\n",
rtc22_get_day_of_week_name ( date.day_of_week ),
( uint16_t ) date.day, ( uint16_t ) date.month, ( uint16_t ) date.year );
}
Delay_ms ( 100 );
log_info( &logger, " Application Task " );
}
#define RTC22_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition rtc22.h:173
#define RTC22_TUESDAY
Definition rtc22.h:137
err_t rtc22_check_communication(rtc22_t *ctx)
RTC 22 check communication function.
void application_init(void)
Definition main.c:45
#define MIKROBUS_POSITION_RTC22
Definition main.c:26
@ RTC22_ERROR
Definition rtc22.h:260
@ RTC22_OK
Definition rtc22.h:259

Application Task

Reads and displays on the USB UART the current time and date values once per second.

void application_task ( void )
{
if ( RTC22_OK == rtc22_read_time ( &rtc22, &time ) )
{
log_printf( &logger, " Time: %.2u:%.2u:%.2u\r\n",
( uint16_t ) time.hour, ( uint16_t ) time.minute, ( uint16_t ) time.second );
}
if ( RTC22_OK == rtc22_read_date ( &rtc22, &date ) )
{
log_printf( &logger, " Date: %s, %.2u.%.2u.20%.2u.\r\n",
rtc22_get_day_of_week_name ( date.day_of_week ),
( uint16_t ) date.day, ( uint16_t ) date.month, ( uint16_t ) date.year );
}
Delay_ms ( 1000 );
}
err_t rtc22_read_date(rtc22_t *ctx, rtc22_date_t *date)
RTC 22 read date function.
void application_task(void)
Definition main.c:101

Application Output

This Click board can be interfaced and monitored in two ways:

  • Application Output - Use the "Application Output" window in Debug mode for real-time data monitoring. Set it up properly by following this tutorial.
  • UART Terminal - Monitor data via the UART Terminal using a USB to UART converter. For detailed instructions, check out this tutorial.

Additional Notes and Information

The complete application code and a ready-to-use project are available through the NECTO Studio Package Manager for direct installation in the NECTO Studio. The application code can also be found on the MIKROE GitHub account.